package DualPointers;
/**
 * P125验证回文串
 * */
public class P125 {
    public static void main(String[] args) {
        P125Test01 p125Test01=new P125Test01();
        System.out.println(p125Test01.isPalindrome("A man, a plan, a canal: Panama"));
    }
}


class P125Test01{
    public boolean isPalindrome(String s) {
        //字符串处理
        s=s.toLowerCase();

        for(int i=0;i<s.length();){
            char c=s.charAt(i);
            if(c<='Z'&&c>='A'||c<='z'&&c>='a'||c>='0'&&c<='9'){
                i++;
            }
            else{
                s=s.replace(""+c, "");

            }
        }

        if(s.isEmpty()){
            return true;
        }
//        if(s.length()==1&&s.charAt(0)=='p'){
//            return false;
//        }

        int i=0,j=s.length()-1;
        for(;i<s.length()&&j>=0;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                return false;
            }
        }
        return true;
    }
}